﻿using System;
namespace Producers.Rr.Xtee.Riik.Ee.Producer.Rr {
    
    
    public partial class RR80ResponseV1 : global::Producers.Rr.Xtee.Riik.Ee.Producer.Rr.IRR80ResponseV1 {
        
        private string @__eesnimi;
        
        private string @__perenimi;
        
        private string @__sugu;
        
        private string @__synniaeg;
        
        private string @__istaatuskd;
        
        private string @__istaatus;
        
        private string @__kstaatuskd;
        
        private string @__kstaatus;
        
        private string @__kodakondsus;
        
        private string @__teovoimeKd;
        
        private string @__teovoime;
        
        private decimal @__veakood;
        
        private string @__veatekst;
        
        private System.Collections.Generic.List<RR80ResponseV1.IElukohtType> @__elukoht = new System.Collections.Generic.List<RR80ResponseV1.IElukohtType>();
        
        private System.Collections.Generic.List<RR80ResponseV1.IPostiaadressType> @__postiaadress = new System.Collections.Generic.List<RR80ResponseV1.IPostiaadressType>();
        
        public RR80ResponseV1() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public RR80ResponseV1(string @eesnimi, string @perenimi, string @sugu, string @synniaeg, string @istaatuskd, string @istaatus, string @kstaatuskd, string @kstaatus, string @kodakondsus, string @teovoimeKd, string @teovoime, decimal @veakood, string @veatekst, System.Collections.Generic.List<RR80ResponseV1.IElukohtType> @elukoht, System.Collections.Generic.List<RR80ResponseV1.IPostiaadressType> @postiaadress) {
            this.@__eesnimi = @eesnimi;
            this.@__perenimi = @perenimi;
            this.@__sugu = @sugu;
            this.@__synniaeg = @synniaeg;
            this.@__istaatuskd = @istaatuskd;
            this.@__istaatus = @istaatus;
            this.@__kstaatuskd = @kstaatuskd;
            this.@__kstaatus = @kstaatus;
            this.@__kodakondsus = @kodakondsus;
            this.@__teovoimeKd = @teovoimeKd;
            this.@__teovoime = @teovoime;
            this.@__veakood = @veakood;
            this.@__veatekst = @veatekst;
            this.@__elukoht = @elukoht;
            this.@__postiaadress = @postiaadress;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected RR80ResponseV1(IRR80ResponseV1 @rR80ResponseV1) {
            this.@__eesnimi = @rR80ResponseV1.Eesnimi;
            this.@__perenimi = @rR80ResponseV1.Perenimi;
            this.@__sugu = @rR80ResponseV1.Sugu;
            this.@__synniaeg = @rR80ResponseV1.Synniaeg;
            this.@__istaatuskd = @rR80ResponseV1.Istaatuskd;
            this.@__istaatus = @rR80ResponseV1.Istaatus;
            this.@__kstaatuskd = @rR80ResponseV1.Kstaatuskd;
            this.@__kstaatus = @rR80ResponseV1.Kstaatus;
            this.@__kodakondsus = @rR80ResponseV1.Kodakondsus;
            this.@__teovoimeKd = @rR80ResponseV1.TeovoimeKd;
            this.@__teovoime = @rR80ResponseV1.Teovoime;
            this.@__veakood = @rR80ResponseV1.Veakood;
            this.@__veatekst = @rR80ResponseV1.Veatekst;
            this.@__elukoht = @rR80ResponseV1.Elukoht;
            this.@__postiaadress = @rR80ResponseV1.Postiaadress;
        }
        
        public virtual string Eesnimi {
            get {
                return this.@__eesnimi;
            }
            set {
                this.@__eesnimi = value;
            }
        }
        
        public virtual string Perenimi {
            get {
                return this.@__perenimi;
            }
            set {
                this.@__perenimi = value;
            }
        }
        
        public virtual string Sugu {
            get {
                return this.@__sugu;
            }
            set {
                this.@__sugu = value;
            }
        }
        
        public virtual string Synniaeg {
            get {
                return this.@__synniaeg;
            }
            set {
                this.@__synniaeg = value;
            }
        }
        
        public virtual string Istaatuskd {
            get {
                return this.@__istaatuskd;
            }
            set {
                this.@__istaatuskd = value;
            }
        }
        
        public virtual string Istaatus {
            get {
                return this.@__istaatus;
            }
            set {
                this.@__istaatus = value;
            }
        }
        
        public virtual string Kstaatuskd {
            get {
                return this.@__kstaatuskd;
            }
            set {
                this.@__kstaatuskd = value;
            }
        }
        
        public virtual string Kstaatus {
            get {
                return this.@__kstaatus;
            }
            set {
                this.@__kstaatus = value;
            }
        }
        
        public virtual string Kodakondsus {
            get {
                return this.@__kodakondsus;
            }
            set {
                this.@__kodakondsus = value;
            }
        }
        
        public virtual string TeovoimeKd {
            get {
                return this.@__teovoimeKd;
            }
            set {
                this.@__teovoimeKd = value;
            }
        }
        
        public virtual string Teovoime {
            get {
                return this.@__teovoime;
            }
            set {
                this.@__teovoime = value;
            }
        }
        
        public virtual decimal Veakood {
            get {
                return this.@__veakood;
            }
            set {
                this.@__veakood = value;
            }
        }
        
        public virtual string Veatekst {
            get {
                return this.@__veatekst;
            }
            set {
                this.@__veatekst = value;
            }
        }
        
        public virtual System.Collections.Generic.List<RR80ResponseV1.IElukohtType> Elukoht {
            get {
                return this.@__elukoht;
            }
            set {
                this.@__elukoht = value;
            }
        }
        
        public virtual System.Collections.Generic.List<RR80ResponseV1.IPostiaadressType> Postiaadress {
            get {
                return this.@__postiaadress;
            }
            set {
                this.@__postiaadress = value;
            }
        }
        
        public partial class ElukohtType : IElukohtType {
            
            private string @__elukohtRiikkd;
            
            private string @__elukohtMaakondkd;
            
            private string @__elukohtMaakond;
            
            private string @__elukohtLinn;
            
            private string @__elukohtAsula;
            
            private string @__elukohtVkoht;
            
            private string @__elukohtTanav;
            
            private string @__elukohtNimi;
            
            private string @__elukohtMaja;
            
            private string @__elukohtKorter;
            
            private string @__elukohtSihtnumber;
            
            private string @__elukohtAlates;
            
            private string @__elukohtKuni;
            
            public ElukohtType() {
            }
            
            /// <summary>
            /// All parameters
            /// </summary>
            public ElukohtType(string @elukohtRiikkd, string @elukohtMaakondkd, string @elukohtMaakond, string @elukohtLinn, string @elukohtAsula, string @elukohtVkoht, string @elukohtTanav, string @elukohtNimi, string @elukohtMaja, string @elukohtKorter, string @elukohtSihtnumber, string @elukohtAlates, string @elukohtKuni) {
                this.@__elukohtRiikkd = @elukohtRiikkd;
                this.@__elukohtMaakondkd = @elukohtMaakondkd;
                this.@__elukohtMaakond = @elukohtMaakond;
                this.@__elukohtLinn = @elukohtLinn;
                this.@__elukohtAsula = @elukohtAsula;
                this.@__elukohtVkoht = @elukohtVkoht;
                this.@__elukohtTanav = @elukohtTanav;
                this.@__elukohtNimi = @elukohtNimi;
                this.@__elukohtMaja = @elukohtMaja;
                this.@__elukohtKorter = @elukohtKorter;
                this.@__elukohtSihtnumber = @elukohtSihtnumber;
                this.@__elukohtAlates = @elukohtAlates;
                this.@__elukohtKuni = @elukohtKuni;
            }
            
            /// <summary>
            /// Copy Constructor
            /// </summary>
            protected ElukohtType(IElukohtType @elukohtType) {
                this.@__elukohtRiikkd = @elukohtType.ElukohtRiikkd;
                this.@__elukohtMaakondkd = @elukohtType.ElukohtMaakondkd;
                this.@__elukohtMaakond = @elukohtType.ElukohtMaakond;
                this.@__elukohtLinn = @elukohtType.ElukohtLinn;
                this.@__elukohtAsula = @elukohtType.ElukohtAsula;
                this.@__elukohtVkoht = @elukohtType.ElukohtVkoht;
                this.@__elukohtTanav = @elukohtType.ElukohtTanav;
                this.@__elukohtNimi = @elukohtType.ElukohtNimi;
                this.@__elukohtMaja = @elukohtType.ElukohtMaja;
                this.@__elukohtKorter = @elukohtType.ElukohtKorter;
                this.@__elukohtSihtnumber = @elukohtType.ElukohtSihtnumber;
                this.@__elukohtAlates = @elukohtType.ElukohtAlates;
                this.@__elukohtKuni = @elukohtType.ElukohtKuni;
            }
            
            public virtual string ElukohtRiikkd {
                get {
                    return this.@__elukohtRiikkd;
                }
                set {
                    this.@__elukohtRiikkd = value;
                }
            }
            
            public virtual string ElukohtMaakondkd {
                get {
                    return this.@__elukohtMaakondkd;
                }
                set {
                    this.@__elukohtMaakondkd = value;
                }
            }
            
            public virtual string ElukohtMaakond {
                get {
                    return this.@__elukohtMaakond;
                }
                set {
                    this.@__elukohtMaakond = value;
                }
            }
            
            public virtual string ElukohtLinn {
                get {
                    return this.@__elukohtLinn;
                }
                set {
                    this.@__elukohtLinn = value;
                }
            }
            
            public virtual string ElukohtAsula {
                get {
                    return this.@__elukohtAsula;
                }
                set {
                    this.@__elukohtAsula = value;
                }
            }
            
            public virtual string ElukohtVkoht {
                get {
                    return this.@__elukohtVkoht;
                }
                set {
                    this.@__elukohtVkoht = value;
                }
            }
            
            public virtual string ElukohtTanav {
                get {
                    return this.@__elukohtTanav;
                }
                set {
                    this.@__elukohtTanav = value;
                }
            }
            
            public virtual string ElukohtNimi {
                get {
                    return this.@__elukohtNimi;
                }
                set {
                    this.@__elukohtNimi = value;
                }
            }
            
            public virtual string ElukohtMaja {
                get {
                    return this.@__elukohtMaja;
                }
                set {
                    this.@__elukohtMaja = value;
                }
            }
            
            public virtual string ElukohtKorter {
                get {
                    return this.@__elukohtKorter;
                }
                set {
                    this.@__elukohtKorter = value;
                }
            }
            
            public virtual string ElukohtSihtnumber {
                get {
                    return this.@__elukohtSihtnumber;
                }
                set {
                    this.@__elukohtSihtnumber = value;
                }
            }
            
            public virtual string ElukohtAlates {
                get {
                    return this.@__elukohtAlates;
                }
                set {
                    this.@__elukohtAlates = value;
                }
            }
            
            public virtual string ElukohtKuni {
                get {
                    return this.@__elukohtKuni;
                }
                set {
                    this.@__elukohtKuni = value;
                }
            }
        }
        
        public interface IElukohtType {
            
            string ElukohtRiikkd {
                get;
                set;
            }
            
            string ElukohtMaakondkd {
                get;
                set;
            }
            
            string ElukohtMaakond {
                get;
                set;
            }
            
            string ElukohtLinn {
                get;
                set;
            }
            
            string ElukohtAsula {
                get;
                set;
            }
            
            string ElukohtVkoht {
                get;
                set;
            }
            
            string ElukohtTanav {
                get;
                set;
            }
            
            string ElukohtNimi {
                get;
                set;
            }
            
            string ElukohtMaja {
                get;
                set;
            }
            
            string ElukohtKorter {
                get;
                set;
            }
            
            string ElukohtSihtnumber {
                get;
                set;
            }
            
            string ElukohtAlates {
                get;
                set;
            }
            
            string ElukohtKuni {
                get;
                set;
            }
        }
        
        public partial class PostiaadressType : IPostiaadressType {
            
            private string @__postiaadressRiikkd;
            
            private string @__postiaadressMaakondkd;
            
            private string @__postiaadressMaakond;
            
            private string @__postiaadressLinn;
            
            private string @__postiaadressAsula;
            
            private string @__postiaadressVkoht;
            
            private string @__postiaadressTanav;
            
            private string @__postiaadressNimi;
            
            private string @__postiaadressMaja;
            
            private string @__postiaadressKorter;
            
            private string @__postiaadressSihtnumber;
            
            private string @__postiaadressAlates;
            
            private string @__postiaadressKuni;
            
            public PostiaadressType() {
            }
            
            /// <summary>
            /// All parameters
            /// </summary>
            public PostiaadressType(string @postiaadressRiikkd, string @postiaadressMaakondkd, string @postiaadressMaakond, string @postiaadressLinn, string @postiaadressAsula, string @postiaadressVkoht, string @postiaadressTanav, string @postiaadressNimi, string @postiaadressMaja, string @postiaadressKorter, string @postiaadressSihtnumber, string @postiaadressAlates, string @postiaadressKuni) {
                this.@__postiaadressRiikkd = @postiaadressRiikkd;
                this.@__postiaadressMaakondkd = @postiaadressMaakondkd;
                this.@__postiaadressMaakond = @postiaadressMaakond;
                this.@__postiaadressLinn = @postiaadressLinn;
                this.@__postiaadressAsula = @postiaadressAsula;
                this.@__postiaadressVkoht = @postiaadressVkoht;
                this.@__postiaadressTanav = @postiaadressTanav;
                this.@__postiaadressNimi = @postiaadressNimi;
                this.@__postiaadressMaja = @postiaadressMaja;
                this.@__postiaadressKorter = @postiaadressKorter;
                this.@__postiaadressSihtnumber = @postiaadressSihtnumber;
                this.@__postiaadressAlates = @postiaadressAlates;
                this.@__postiaadressKuni = @postiaadressKuni;
            }
            
            /// <summary>
            /// Copy Constructor
            /// </summary>
            protected PostiaadressType(IPostiaadressType @postiaadressType) {
                this.@__postiaadressRiikkd = @postiaadressType.PostiaadressRiikkd;
                this.@__postiaadressMaakondkd = @postiaadressType.PostiaadressMaakondkd;
                this.@__postiaadressMaakond = @postiaadressType.PostiaadressMaakond;
                this.@__postiaadressLinn = @postiaadressType.PostiaadressLinn;
                this.@__postiaadressAsula = @postiaadressType.PostiaadressAsula;
                this.@__postiaadressVkoht = @postiaadressType.PostiaadressVkoht;
                this.@__postiaadressTanav = @postiaadressType.PostiaadressTanav;
                this.@__postiaadressNimi = @postiaadressType.PostiaadressNimi;
                this.@__postiaadressMaja = @postiaadressType.PostiaadressMaja;
                this.@__postiaadressKorter = @postiaadressType.PostiaadressKorter;
                this.@__postiaadressSihtnumber = @postiaadressType.PostiaadressSihtnumber;
                this.@__postiaadressAlates = @postiaadressType.PostiaadressAlates;
                this.@__postiaadressKuni = @postiaadressType.PostiaadressKuni;
            }
            
            public virtual string PostiaadressRiikkd {
                get {
                    return this.@__postiaadressRiikkd;
                }
                set {
                    this.@__postiaadressRiikkd = value;
                }
            }
            
            public virtual string PostiaadressMaakondkd {
                get {
                    return this.@__postiaadressMaakondkd;
                }
                set {
                    this.@__postiaadressMaakondkd = value;
                }
            }
            
            public virtual string PostiaadressMaakond {
                get {
                    return this.@__postiaadressMaakond;
                }
                set {
                    this.@__postiaadressMaakond = value;
                }
            }
            
            public virtual string PostiaadressLinn {
                get {
                    return this.@__postiaadressLinn;
                }
                set {
                    this.@__postiaadressLinn = value;
                }
            }
            
            public virtual string PostiaadressAsula {
                get {
                    return this.@__postiaadressAsula;
                }
                set {
                    this.@__postiaadressAsula = value;
                }
            }
            
            public virtual string PostiaadressVkoht {
                get {
                    return this.@__postiaadressVkoht;
                }
                set {
                    this.@__postiaadressVkoht = value;
                }
            }
            
            public virtual string PostiaadressTanav {
                get {
                    return this.@__postiaadressTanav;
                }
                set {
                    this.@__postiaadressTanav = value;
                }
            }
            
            public virtual string PostiaadressNimi {
                get {
                    return this.@__postiaadressNimi;
                }
                set {
                    this.@__postiaadressNimi = value;
                }
            }
            
            public virtual string PostiaadressMaja {
                get {
                    return this.@__postiaadressMaja;
                }
                set {
                    this.@__postiaadressMaja = value;
                }
            }
            
            public virtual string PostiaadressKorter {
                get {
                    return this.@__postiaadressKorter;
                }
                set {
                    this.@__postiaadressKorter = value;
                }
            }
            
            public virtual string PostiaadressSihtnumber {
                get {
                    return this.@__postiaadressSihtnumber;
                }
                set {
                    this.@__postiaadressSihtnumber = value;
                }
            }
            
            public virtual string PostiaadressAlates {
                get {
                    return this.@__postiaadressAlates;
                }
                set {
                    this.@__postiaadressAlates = value;
                }
            }
            
            public virtual string PostiaadressKuni {
                get {
                    return this.@__postiaadressKuni;
                }
                set {
                    this.@__postiaadressKuni = value;
                }
            }
        }
        
        public interface IPostiaadressType {
            
            string PostiaadressRiikkd {
                get;
                set;
            }
            
            string PostiaadressMaakondkd {
                get;
                set;
            }
            
            string PostiaadressMaakond {
                get;
                set;
            }
            
            string PostiaadressLinn {
                get;
                set;
            }
            
            string PostiaadressAsula {
                get;
                set;
            }
            
            string PostiaadressVkoht {
                get;
                set;
            }
            
            string PostiaadressTanav {
                get;
                set;
            }
            
            string PostiaadressNimi {
                get;
                set;
            }
            
            string PostiaadressMaja {
                get;
                set;
            }
            
            string PostiaadressKorter {
                get;
                set;
            }
            
            string PostiaadressSihtnumber {
                get;
                set;
            }
            
            string PostiaadressAlates {
                get;
                set;
            }
            
            string PostiaadressKuni {
                get;
                set;
            }
        }
    }
}
